<!DOCTYPE html>
<html lang="fr" >
<head>
    <title>Atomsk - Option disloc - Pierre Hirel</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" media="screen" type="text/css" title="Default" href="./default.css" />
    <link rel="icon" href="../img/atomsk_logo.png" type="image/png" />
</head>
   
<body>

<p><a href="./index.html">Retour au menu principal</a></p>

<h2>Option : dislocation</h2>

<h4>Syntaxe</h4>

<p><code>-dislocation &#60;p<sub>1</sub>&#62; &#60;p<sub>2</sub>&#62; screw &#60;&xi;&#62; &#60;n&#62; &#60;b&#62;</code></p>

<p><code>-dislocation &#60;p<sub>1</sub>&#62; &#60;p<sub>2</sub>&#62; &#60;edge|edge_add|edge_rm&#62; &#60;&xi;&#62; &#60;n&#62; &#60;b&#62; &#60;&nu;&#62;</code></p>

<p><code>-dislocation &#60;p<sub>1</sub>&#62; &#60;p<sub>2</sub>&#62; mixed &#60;&xi;&#62; &#60;n&#62; &#60;b<sub>1</sub>&#62; &#60;b<sub>2</sub>&#62; &#60;b<sub>3</sub>&#62;</code></p>

<p><code>-dislocation loop &#60;x&#62; &#60;y&#62; &#60;z&#62; &#60;n&#62; &#60;rayon&#62; &#60;b<sub>x</sub>&#62; &#60;b<sub>y</sub>&#62; &#60;b<sub>z</sub>&#62; &#60;&nu;&#62;</code></p>


<h4>Description</h4>

<p>Cette option permet d'insérer une dislocation rectiligne dans le système, ou une boucle de dislocation, en utilisant les déplacements prédits par la théorie des dislocations. Les solutions isotropes ou anisotropes peuvent être utilisées (voir ci-dessous). Les équations employées par cette option se trouvent par ex. dans J.P. Hirth and J. Lothe, <em>Theory of dislocations</em>.</p>

<p>Les paramètres associés avec cette option sont (voir <strong>Fig. 1</strong>) :</p>

<ul>
  <li><strong>p<sub>1</sub>, p<sub>2</sub></strong> : coordonnées de la dislocation dans le plan normal à la ligne de dislocation (voir &xi; ci-dessous), dans l'ordre de permutation X, Y, Z : si &xi;=Z alors p<sub>1</sub> est la position suivant X et p<sub>2</sub> celle suivant Y ; si &xi;=Y alors p<sub>1</sub> est suivant Z et p<sub>2</sub> suivant X ; si &xi;=X alors p<sub>1</sub> est suivant Y et p<sub>2</sub> suivant Z. Les positions &#60;p<sub>1</sub>&#62;, &#60;p<sub>2</sub>&#62; sont généralement données en &Aring;. Il est également possible de spécifier une distance relative aux dimensions de la boîte avec le mot-clé BOX et une opération (voir <a href="./box.html">cette page</a>).</li>
  <li><strong>screw|edge|edge_add|edge_rm|mixed</strong> : caractère de la dislocation. Le caractère "mixed" ne peut être utilisé qu'en élasticité anisotrope (voir ci-dessous).</li>
  <li><strong>&xi;</strong> : direction de la ligne de dislocation, doit être x, y ou z.</li>
  <li><strong>n</strong> : direction normale au plan de coupure, doit être x, y ou z, et doit être différent de <code>&xi;</code>.</li>
  <li><strong>b</strong> : norme du vecteur de Burgers (en &Aring;). Pour les dislocations de type coin ("edge", "edge_add", "edge_rm") ou vis ("screw"), une seule valeur doit être donnée. Pour celles de caractère mixte ("mixed"), les trois composantes (b<sub>1</sub>,b<sub>2</sub>,b<sub>3</sub>) doivent être données.</li>
  <li><strong>&nu;</strong> : coefficient de Poisson du matériau ; sa valeur doit être donnée pour construire les dislocations coin ("edge", "edge_add", "edge_rm"). Pour les autres caractères (vis ou mixte), ce paramètre doit être omis.</li>
</ul>

<hr>
<object type="img/svg+xml" data="../img/opt_disloc_1.svg"><img src="../img/opt_disloc_1.png" alt="" /></object>
<p><strong>Fig. 1</strong> - <em>Illustration des paramètres de l'option "-dislocation". &xi; est la direction de la ligne de dislocation (x, y ou z). p<sub>1</sub> et p<sub>2</sub> sont les coordonnées de la dislocation dans le plan normal à &xi;, et <em><strong>b</strong></em> est le vecteur de Burgers.</em></p>
<hr>

<p>Par défaut, la dislocation est construite en utilisant les <strong>solutions élastiques isotropes</strong>.</p>

<p>Pour une <strong>dislocation vis</strong>, le vecteur de Burgers <strong><em>b</em></strong> est aligné avec la direction <strong>&xi;</strong>. Le nombre total d'atomes ainsi que les vecteurs de boîte sont conservés. Chaque atome est déplacé d'une quantité u<sub>3</sub> parallèlement à la ligne de dislocation &xi;, et proportionnel à la norme du vecteur de Burgers <strong><em>b</em></strong>, suivant la théorie de l'élasticité :</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <code>u<sub>3</sub> = (<em>b</em>/2&pi;) atan(x<sub>2</sub>/x<sub>1</sub>)</code></p>

<p>où (x<sub>1</sub>,x<sub>2</sub>) est la position de l'atome dans le plan normal à &xi;.</p>

<p>Pour une <strong>dislocation coin</strong>, le vecteur de Burgers <strong><em>b</em></strong> est normal à <strong>&xi;</strong> (de sorte que <strong><em>b</em>.<em>&xi;</em></strong>=0), et contenu dans le plan normal à &#60;n&#62;. Les déplacements des atomes sont alors contenu dans le plan normal à &xi; :</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<code>u<sub>1</sub> = (<em>b</em>/2&pi;) [ atan(x<sub>2</sub>/x<sub>1</sub>) + x<sub>1</sub>x<sub>2</sub>/(2(1-&nu;)(x<sub>1</sub><sup>2</sup>+x<sub>2</sub><sup>2</sup>)) ]</code> <br/>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <code>u<sub>2</sub> = (-<em>b</em>/2&pi;) [ (1-2&nu;)ln(x<sub>1</sub><sup>2</sup>+x<sub>2</sub><sup>2</sup>))/(4(1-&nu;)) + (x<sub>1</sub><sup>2</sup>-x<sub>2</sub><sup>2</sup>)/(4(1-&nu;)(x<sub>1</sub><sup>2</sup>+x<sub>2</sub><sup>2</sup>)) ]</code>
</p>

<p>où &nu; est le coefficient de Poisson du matériau, et doit être fourni. Avec cette option, les dislocations coin peuvent être construites de trois manières différentes, comme illustré sur la <strong>Fig. 2</strong>:</p>

<ul>
  <li>Avec la première méthode, associée au mot-clé "<strong>edge</strong>", la dislocation coin est construite en conservant le nombre total d'atomes dans le système (et en conservant les vecteurs de boîte). Cette méthode résulte en une marche sur un côté de la boîte, ce qui peut modifier les conditions aux limites.</li>
  
  <li>La seconde méthode, associée au mot-clé "<strong>edge_add</strong>", consiste à copier le demi-plan d'atomes situé au-dessus de la dislocation, puis à appliquer les déplacements atomiques correspondant au champ élastique d'une dislocation coin aux autres atomes. Ensuite la boîte est agrandie de la moitié de la norme du vecteur de Burgers, |<strong><em>b</em></strong>|/2, dans la direction du vecteur de Burgers -il est recommandé de vérifier la taille de boîte. Puisque cette méthode change le nombre total d'atomes et le volume de la boîte, la comparaison entre les systèmes initial et final devient impossible. Si des propriétés auxiliaires existaient, alors les nouveaux atomes héritent des propriétés auxiliaires des atomes qui ont été dupliqués pour former la dislocation.</li>
  
  <li>Enfin la troisième méthode, associée au mot-clé "<strong>edge_rm</strong>", consiste à supprimer le demi-plan d'atomes situé sous la dislocation, puis à appliquer les déplacements atomiques correspondant au champ élastique d'une dislocation coin. Ensuite la boîte est raccourcie de la moitié de la norme du vecteur de Burgers, |<strong><em>b</em></strong>|/2, dans la direction du vecteur de Burgers -il est recommandé de vérifier la taille de boîte. Là aussi, cette méthode change le nombre total d'atomes et le volume de la boîte.</li>
</ul>

<p>Notez que dans tous les cas, les bords du système sont perturbés, et les conditions aux limites ne peuvent plus être périodiques dans les 3 dimensions.</p>

<hr>
<object type="img/svg+xml" data="../img/opt_disloc.svg"><img src="../img/opt_disloc.png" alt="" /></object>
<p><strong>Fig. 2</strong> - <em>Les trois façons de construire une dislocation coin avec cette option. En utilisant le mot-clé "</em>edge<em>", aucun nouvel atome n'est introduit, mais l'insertion de la dislocation résulte en la formation d'une marche sur un bord du système. Avec le mot-clé "</em>edge_add<em>", un demi-plan d'atomes est ajouté au système (représenté en orange), et la boîte est légèrement allongée. Avec le mot-clé "</em>edge_rm<em>", un demi-plan d'atomes est supprimé (en gris), et la boîte est légèrement raccourcie.</em></p>
<hr>

<p>Après avoir déplacé les atomes, Atomsk calcule aussi les contraines théoriques (prédites par la théorie continue). Cependant, puisque le module de cisaillement &mu; est inconnu de cette option, les contraintes sont normalisées, autrement dit la quantité calculée est en réalité &sigma;/&mu;. Les six composantes de Voigt &sigma;<sub>xx</sub>, &sigma;<sub>yy</sub>, &sigma;<sub>zz</sub>, &sigma;<sub>yz</sub>, &sigma;<sub>xz</sub> et &sigma;<sub>xy</sub>, sont enregistrées comme propriétés auxiliaires pour chaque atome. Si plusieurs dislocations sont introduites dans le système, ces contraintes sont cumulées. Notez que ces propriétés auxiliaires ne peuvent être écrites que vers certains formats de fichiers, comme le CFG (voir <a href="./formats.html">cette page</a> pour une liste de formats supportant les propriétés auxiliaires).</p>

<p>L'<strong>élasticité anisotrope</strong> est automatiquement utilisée lorsque le tenseur élastique est défini avant que la présente option ne soit appelée, par ex. avec l'<a href="./option_properties.html">option <code>-properties</code></a> (se référer à cette option pour ce qui concerne la rotation du tenseur élastique). La dislocation peut avoir un caractère vis ou coin ("screw", "edge", "edge_add", "edge_rm") comme décrit ci-dessus. De plus, il est également possible de créer une dislocation avec un <strong>caractère mixte</strong> avec le mot-clé "mixed". Dans ce cas, les trois composantes du vecteur de Burgers doivent être fournies, b<sub>3</sub> étant suivant la direction de la ligne &#60;&xi;&#62; (direction "vis"), et b<sub>2</sub> suivant &#60;n&#62; (normale au plan de glissement). Les équations de l'élasticité anisotrope sont alors résolues pour obtenir les valeurs des coefficients <em>A<sub>k</sub>(n)</em>, <em>D(n)</em>, <em>P(n)</em> et 
<em>B<sub>ijk</sub>(n)</em>, et les déplacements anisotropes sont appliqués :</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <code>u<sub>k</sub> = </code>&real;{<code> (-2&pi;<em>i</em>)<sup>-1</sup> <strong>&sum;</strong><sub>(n=1,3)</sub> <em>A<sub>k</sub>(n) D(n)</em> ln(x<sub>1</sub>+<em>P(n)</em>x<sub>2</sub>) </code>}, k=1,3</code></p>

<p>Ces coefficients sont aussi utilisés pour calculer les contraintes théoriques associés à la dislocation :</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <code>&sigma;<sub>ij</sub> = </code>&real;{<code> (-2&pi;<em>i</em>)<sup>-1</sup> <strong>&sum;</strong><sub>(n=1,3)</sub> <em>B<sub>ijk</sub>(n) A<sub>k</sub>(n) D(n)</em> / (x<sub>1</sub>+<em>P(n)</em>x<sub>2</sub>) </code>}</p>

<p>Dans ce cas puisque le tenseur élastique est entièrement connu, ce sont bien les contraintes exactes qui sont calculées. Comme dans le cas isotrope, les composantes de Voigt sont enregistrées comme propriétés auxiliaires, et si plusieurs dislocations sont construites alors leurs contributions sont cumulées.</p>

<hr>

<p>Les <strong>boucles de dislocation</strong> peuvent être construites en utilisant "<code>-dislocation loop</code>". Dans ce cas, les paramètres à fournir sont les suivants&nbsp;: les coordonnées (x,y,z) du centre de la boucle, la direction &#60;n&#62; normale au plan de la boucle (doit être "X", "Y", ou "Z"), le &#60;rayon&#62; de la boucle, les trois composantes (b<sub>x</sub>,b<sub>y</sub>,b<sub>z</sub>) du vecteur de Burgers, et le module de Poisson &nu; du matériau. Les déplacements atomiques sont alors ceux décrits par D.M. Barnett, <em>Philos. Mag. A</em> <strong>51</strong> (1985) 383-387.</p>

<p>Les coordonnées (x,y,z) du centre de la boucle peuvent être fournies en &Aring;. Il est aussi possible de spécifier des distances relatives aux dimensions de la boîte avec le mot-clé BOX et une opération (voir <a href="./box.html">cette page</a>). Toutefois, le &#60;rayon&#62; de la boucle ainsi que les composantes du vecteur de Burgers doivent impérativement être donnés en &Aring;.</p>

<p>Si le &#60;rayon&#62; de la boucle est négatif, alors au lieu d'être circulaire, la boucle aura la forme d'un carré. Le côté du carré sera égal au double de la valeur absolue du &#60;rayon&#62;.</p>

<p>Pour les boucles de dislocations, les contraintes théoriques ne sont pas calculées.</p>

<p>Comme tous les autres types de dislocation, plusieurs boucles peuvent être introduites dans le système atomique en appelant cette option plusieurs fois.</p>

<object type="img/svg+xml" data="../img/opt_disloc_2.svg"><img src="../img/opt_disloc_2.png" alt="" /></object>
<p><strong>Fig. 3</strong> - <em>Schéma de construction d'une boucle de dislocation. Dans cet exemple, la boucle est contenue dans un plan normal à l'axe cartésien Z (c'est-à-dire que <strong><em>n</em></strong> est dirigé suivant Z). La boucle de dislocation apparaît en vert, et son vecteur de Burgers <strong><em>b</em></strong> en bleu. Sur la droite&nbsp;: si le &#60;rayon&#62; a une valeur négative, alors la boucle de dislocation aura une forme carrée.</em></p>

<hr>

<p><strong>Remarques importantes :</strong> Atomsk ne va pas trouver ni ajuster "automagiquement" le vecteur de Burgers, aussi est-il impératif d'en fournir une valeur très précise. Le programme n'ajustera pas non plus la position de la dislocation vers un site particulier : si vous fournissez une position <code>(p<sub>1</sub>,p<sub>2</sub>)</code> qui correspond exactement à la position d'un atome, il peut en résulter des déplacements non réalistes. Il est possible que vous ayez à tester différentes positions pour obtenir des résultats cohérents. Comme toujours, ne croyez pas que le programme va penser pour vous -vérifiez votre système avant de lancer une simulation, surtout lors de la construction de dislocations.</p>

<p>Si une sélection est définie (avec l'<a href="./option_select.html">option <code>-select</code></a>) alors les déplacements discutés ci-dessus ne seront appliqués qu'aux atomes sélectionnés.</p>

<p>S'il existe des coquilles dans le système (dans le cadre d'un modèle ionique c&oelig;ur-coquille), alors chaque coquille est déplacée du même vecteur que le c&oelig;ur qui lui est associé.</p>

<p>Après avoir appliqué cette option, certains atomes peuvent se trouver hors de la boîte. Pour les replacer dans la boîte il est possible d'utiliser l'<a href="./option_wrap.html">option <code>-wrap</code></a>.</p>



<h4>Défaut</h4>

<p>Par défaut aucune dislocation n'est introduite.</p>



<h4>Exemples</h4>

<ul>
<li><code class="command">atomsk initial.cfg -dislocation 0.5*BOX 0.5*BOX screw z y 3.2 final.xyz</code>
<p>Ceci lira <code>initial.cfg</code>, et déplacera les atomes de façon à insérer une dislocation vis de vecteur de Burgers 3.2 &Aring; suivant Z, au milieu de la boîte suivant X (puisque p<sub>1</sub>=0.5*BOX) et également au centre suivant Y (puisque p<sub>2</sub>=0.5*BOX). Le résultat sera écrit dans <code>final.xyz</code>.</p></li>

<li><code class="command">atomsk initial.cfg -disloc 0.25*BOX 0.5*BOX screw z y 3.2 -disloc 0.75*BOX 0.5*BOX screw z y -3.2 final.xyz</code>
<p>Ceci insèrera deux dislocations vis de vecteurs de Burgers opposés, la première en (0.25;0.5) et la seconde en (0.75;0.5) fois la taille de boîte.</p></li>

<li><code class="command">atomsk unitcell.xyz -duplicate 30 2 20 -disloc 30 40.2 edge_add y x 2.8 0.28 dislocation.xsf</code>
<p>Ceci lira <code>unitcell.xyz</code>, <a href="./option_duplicate.html">dupliquera le système</a> pour former une supercellule de 30x2x20, puis construira une dislocation coin en insérant un nouveau plan d'atomes. La ligne de dislocation sera suivant Y, le vecteur de Burgers aura une amplitude de 2.8 &Aring;, le coefficient de Poisson vaut 0.28, et le centre de la dislocation sera placé à Z=30 &Aring; et X=40.2 &Aring;. Le résultat sera écrit dans <code>dislocation.xsf</code>.</p></li>

<li><code class="command">atomsk unitcell.xyz -duplicate 30 2 20 -disloc 30 40.2 edge y x 2.8 0.28 dislocation.cfg</code>
<p>Similaire à l'exemple précédent, sauf que la dislocation coin sera introduite sans ajouter d'atome au système.</p></li>

<li><div class="txtfile">
<h5>ctensor.txt</h5>
<p><code># Le tenseur élastique pour l'orientation [100] [010] [001]<br/>
elastic Voigt<br/>
243.30 243.30 243.30<br/>
145.00 145.00 145.00<br/>
116.10 116.10 116.10<br/>
<br/>
# L'orientation du cristal<br/>
orientation<br/>
110<br/>
1-10<br/>
001<br/></code></p>
</div>
<code class="command">atomsk initial.xyz -prop ctensor.txt -disloc 0.5*BOX 0.5*BOX screw y x 2.8 dislocation.cfg</code>
<p>Supposons vouloir construire une dislocation dans un système de fer ayant pour orientation cristallographique X=[110], Y=[1-10], Z=[001]. Le système originel (<code>initial.xyz</code>) a bien cette orientation [110] [1-10] [001]. Dans cet exemple l'<a href="./option_properties.html">option <code>-properties</code></a> est utilisée pour lire le tenseur élastique et l'orientation du système depuis <code>ctensor.txt</code>, donc l'élasticité anisotrope sera employée pour construire la dislocation. Il s'agit souvent de la manière la plus simple d'utiliser l'élasticité anisotrope avec Atomsk.</p></li>

<li><div class="txtfile">
<h5>ctensor.txt</h5>
<p><code># Le tenseur élastique pour l'orientation [100] [010] [001]<br/>
elastic Voigt<br/>
243.30 243.30 243.30<br/>
145.00 145.00 145.00<br/>
116.10 116.10 116.10<br/></code></p>
</div>
<code class="command">atomsk initial.xyz -orient 110 1-10 001 100 010 001 -prop ctensor.txt -orient 100 010 001 110 1-10 001 -disloc 0.5*BOX 0.5*BOX screw y x 2.8 dislocation.cfg</code>
<p>Cet exemple illustre une autre manière de faire la même chose que l'exemple précédent. Le système originel (<code>initial.xyz</code> ayant pour orientation [110] [1-10] [001]) est d'abord pivoté avec l'<a href="./option_orient.html">option <code>-orient</code></a> de sorte qu'il ait pour orientation X=[100], Y=[010] et Z=[001]. Puis le tenseur élastique, qui correspond à cette orientation, est lu grâce à l'<a href="./option_properties.html">option <code>-properties</code></a>. Puis le système est de nouveau pivoté pour lui redonner son orientation initiale (ceci aurait également pu être réalisé grâce à l'<a href="./option_alignx.html">option <code>-alignx</code></a>), ce qui effectue également la rotation du tenseur élastique. Enfin la dislocation peut être introduite.</p></li>

<li><code class="command">atomsk supercell.cfg -dislocation loop 0.5*box 0.5*box 0.5*box Z 30 2.85 0 0 0.33 Loop.cfg</code>
<p>Dans cet exemple, une boucle de dislocation est introduite au milieu de la boîte, dans un plan normal à Z, avec un rayon de 30 &Aring;, et un vecteur de Burgers <strong><em>b</em></strong>=[2.85 0 0]. Le coefficient de Poisson du matériau est fixé à &nu;=0.33.</p></li>

<li><p>D'autres exemples sont fournis dans le dossier "examples" fourni avec le programme. Le dossier "<code>Al_110dislocations</code>" contient un script bash qui construit deux dislocations coin de vecteurs de Burgers opposés dans un système d'aluminium, en utilisant l'élasticité isotrope. Le dossier "<code>Fe_disloc_screw111_anisotropy</code>" montre comment construire une dislocation vis 1/2&#60;111&#62; dans du fer en utilisant l'élasticité anisotrope.</p></li>
</ul>


<p><a href="./index.html">Retour au menu principal</a></p>

</body>

</html>
